<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>EscherArrayProperty (POI API Documentation)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="EscherArrayProperty (POI API Documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EscherArrayProperty.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/poi/ddf/DefaultEscherRecordFactory.html" title="class in org.apache.poi.ddf"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../org/apache/poi/ddf/EscherBitmapBlip.html" title="class in org.apache.poi.ddf"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/poi/ddf/EscherArrayProperty.html" target="_top">FRAMES</a></li>
<li><a href="EscherArrayProperty.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.poi.ddf.EscherComplexProperty">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">org.apache.poi.ddf</p>
<h2 title="Class EscherArrayProperty" class="title">Class EscherArrayProperty</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/poi/ddf/EscherProperty.html" title="class in org.apache.poi.ddf">org.apache.poi.ddf.EscherProperty</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">org.apache.poi.ddf.EscherComplexProperty</a></li>
<li>
<ul class="inheritance">
<li>org.apache.poi.ddf.EscherArrayProperty</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <strong>EscherArrayProperty</strong>
extends <a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">EscherComplexProperty</a></pre>
<div class="block">Escher array properties are the most wierd construction ever invented
 with all sorts of special cases.  I'm hopeful I've got them all.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Glen Stampoultzis (glens at superlinksoftware.com)</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.poi.ddf.EscherComplexProperty">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.poi.ddf.<a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">EscherComplexProperty</a></h3>
<code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#_complexData">_complexData</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#EscherArrayProperty(short, boolean, byte[])">EscherArrayProperty</a></strong>(short&nbsp;propertyNumber,
                   boolean&nbsp;isBlipId,
                   byte[]&nbsp;complexData)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#EscherArrayProperty(short, byte[])">EscherArrayProperty</a></strong>(short&nbsp;id,
                   byte[]&nbsp;complexData)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#getActualSizeOfElements(short)">getActualSizeOfElements</a></strong>(short&nbsp;sizeOfElements)</code>
<div class="block">Sometimes the element size is stored as a negative number.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#getElement(int)">getElement</a></strong>(int&nbsp;index)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#getNumberOfElementsInArray()">getNumberOfElementsInArray</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#getNumberOfElementsInMemory()">getNumberOfElementsInMemory</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>short</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#getSizeOfElements()">getSizeOfElements</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#serializeSimplePart(byte[], int)">serializeSimplePart</a></strong>(byte[]&nbsp;data,
                   int&nbsp;pos)</code>
<div class="block">Serializes the simple part of this property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#setArrayData(byte[], int)">setArrayData</a></strong>(byte[]&nbsp;data,
            int&nbsp;offset)</code>
<div class="block">We have this method because the way in which arrays in escher works
 is screwed for seemly arbitary reasons.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#setElement(int, byte[])">setElement</a></strong>(int&nbsp;index,
          byte[]&nbsp;element)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#setNumberOfElementsInArray(int)">setNumberOfElementsInArray</a></strong>(int&nbsp;numberOfElements)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#setNumberOfElementsInMemory(int)">setNumberOfElementsInMemory</a></strong>(int&nbsp;numberOfElements)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#setSizeOfElements(int)">setSizeOfElements</a></strong>(int&nbsp;sizeOfElements)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#toString()">toString</a></strong>()</code>
<div class="block">Retrieves the string representation for this property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/ddf/EscherArrayProperty.html#toXml(java.lang.String)">toXml</a></strong>(java.lang.String&nbsp;tab)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.poi.ddf.EscherComplexProperty">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.poi.ddf.<a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">EscherComplexProperty</a></h3>
<code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#equals(java.lang.Object)">equals</a>, <a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#getComplexData()">getComplexData</a>, <a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#getPropertySize()">getPropertySize</a>, <a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#hashCode()">hashCode</a>, <a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#serializeComplexPart(byte[], int)">serializeComplexPart</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.poi.ddf.EscherProperty">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.poi.ddf.<a href="../../../../org/apache/poi/ddf/EscherProperty.html" title="class in org.apache.poi.ddf">EscherProperty</a></h3>
<code><a href="../../../../org/apache/poi/ddf/EscherProperty.html#getId()">getId</a>, <a href="../../../../org/apache/poi/ddf/EscherProperty.html#getName()">getName</a>, <a href="../../../../org/apache/poi/ddf/EscherProperty.html#getPropertyNumber()">getPropertyNumber</a>, <a href="../../../../org/apache/poi/ddf/EscherProperty.html#isBlipId()">isBlipId</a>, <a href="../../../../org/apache/poi/ddf/EscherProperty.html#isComplex()">isComplex</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="EscherArrayProperty(short, byte[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EscherArrayProperty</h4>
<pre>public&nbsp;EscherArrayProperty(short&nbsp;id,
                   byte[]&nbsp;complexData)</pre>
</li>
</ul>
<a name="EscherArrayProperty(short, boolean, byte[])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EscherArrayProperty</h4>
<pre>public&nbsp;EscherArrayProperty(short&nbsp;propertyNumber,
                   boolean&nbsp;isBlipId,
                   byte[]&nbsp;complexData)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getNumberOfElementsInArray()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfElementsInArray</h4>
<pre>public&nbsp;int&nbsp;getNumberOfElementsInArray()</pre>
</li>
</ul>
<a name="setNumberOfElementsInArray(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNumberOfElementsInArray</h4>
<pre>public&nbsp;void&nbsp;setNumberOfElementsInArray(int&nbsp;numberOfElements)</pre>
</li>
</ul>
<a name="getNumberOfElementsInMemory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfElementsInMemory</h4>
<pre>public&nbsp;int&nbsp;getNumberOfElementsInMemory()</pre>
</li>
</ul>
<a name="setNumberOfElementsInMemory(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNumberOfElementsInMemory</h4>
<pre>public&nbsp;void&nbsp;setNumberOfElementsInMemory(int&nbsp;numberOfElements)</pre>
</li>
</ul>
<a name="getSizeOfElements()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeOfElements</h4>
<pre>public&nbsp;short&nbsp;getSizeOfElements()</pre>
</li>
</ul>
<a name="setSizeOfElements(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSizeOfElements</h4>
<pre>public&nbsp;void&nbsp;setSizeOfElements(int&nbsp;sizeOfElements)</pre>
</li>
</ul>
<a name="getElement(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElement</h4>
<pre>public&nbsp;byte[]&nbsp;getElement(int&nbsp;index)</pre>
</li>
</ul>
<a name="setElement(int, byte[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setElement</h4>
<pre>public&nbsp;void&nbsp;setElement(int&nbsp;index,
              byte[]&nbsp;element)</pre>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#toString()">EscherComplexProperty</a></code></strong></div>
<div class="block">Retrieves the string representation for this property.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">EscherComplexProperty</a></code></dd>
</dl>
</li>
</ul>
<a name="toXml(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toXml</h4>
<pre>public&nbsp;java.lang.String&nbsp;toXml(java.lang.String&nbsp;tab)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#toXml(java.lang.String)">toXml</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">EscherComplexProperty</a></code></dd>
</dl>
</li>
</ul>
<a name="setArrayData(byte[], int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setArrayData</h4>
<pre>public&nbsp;int&nbsp;setArrayData(byte[]&nbsp;data,
               int&nbsp;offset)</pre>
<div class="block">We have this method because the way in which arrays in escher works
 is screwed for seemly arbitary reasons.  While most properties are
 fairly consistent and have a predictable array size, escher arrays
 have special cases.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - The data array containing the escher array information</dd><dd><code>offset</code> - The offset into the array to start reading from.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of bytes used by this complex property.</dd></dl>
</li>
</ul>
<a name="serializeSimplePart(byte[], int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serializeSimplePart</h4>
<pre>public&nbsp;int&nbsp;serializeSimplePart(byte[]&nbsp;data,
                      int&nbsp;pos)</pre>
<div class="block">Serializes the simple part of this property.  ie the first 6 bytes.

 Needs special code to handle the case when the size doesn't
  include the size of the header block</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html#serializeSimplePart(byte[], int)">serializeSimplePart</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/poi/ddf/EscherComplexProperty.html" title="class in org.apache.poi.ddf">EscherComplexProperty</a></code></dd>
</dl>
</li>
</ul>
<a name="getActualSizeOfElements(short)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getActualSizeOfElements</h4>
<pre>public static&nbsp;int&nbsp;getActualSizeOfElements(short&nbsp;sizeOfElements)</pre>
<div class="block">Sometimes the element size is stored as a negative number.  We
 negate it and shift it to get the real value.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EscherArrayProperty.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/poi/ddf/DefaultEscherRecordFactory.html" title="class in org.apache.poi.ddf"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../org/apache/poi/ddf/EscherBitmapBlip.html" title="class in org.apache.poi.ddf"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/poi/ddf/EscherArrayProperty.html" target="_top">FRAMES</a></li>
<li><a href="EscherArrayProperty.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.poi.ddf.EscherComplexProperty">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright 2014 The Apache Software Foundation or
        its licensors, as applicable.</i>
            </small></p>
</body>
</html>
